Evolutionary Architecting of Software-Intensive Systems

نویسنده

  • Jakob Axelsson
چکیده

Most industrial software-intensive systems have a very long life span, and undergo many changes after their initial conception. To ensure that they maintain the desired system-level properties, it is essential that their architecture is also updated to reflect the added functionality. To this end, we have investigated how Evolutionary Architecting should be carried out in order to provide a strong basis for a system, not only at conception but throughout its life. The results are concrete and based on empirical findings, and include both a new state-of-the-art process description and a lightweight maturity evaluation method. Embedded software is a critical component to be considered in the development of many new products such as cars, airplanes, industrial robots, and telecommunications systems. There is great scope for innovation within software , and innnovative software can keep a product competitive. Often, a product line approach is used, where many variants are spawned off the same platform over decades. However, with separate teams working on different products and modifying the platform to suit their needs, coordination between them becomes essential to ensure that the platform keeps its integrity and stays useful for future needs. It is a central role of the architects to maintain this integrity and provide technical prerequisites for the different design teams. Plenty of research has been done on software and systems architecture, but much of it focuses on the development of new systems. However, our empirical research shows that evolution of existing products is much more common than new development. Therefore, through interviews and surveys with around 100 active architects at a dozen companies, we have tried to identify needs and challenges within architecting to support the evolutionary development of embedded software. Many of the organizations suffer from unclear processes and responsibility for architecture, and lack methods to evaluate the business value when making architectural decisions. In short, the companies rely on individuals instead of on processes and methods. These issues are typical signs of imma-turity in architecting organizations. To identify where improvements can be made, it is useful to have a way of assessing an organization's maturity. Several well-known maturity models exist, such as Capability Maturity Model Integration (CMMI), which captures the best practices for development in general. However, it has a few drawbacks when applied to architecting. Firstly, it is heavy to use for a small team, and secondly , it emphasizes formal appraisals by external assessors, whereas …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Architecting software concurrency

Nowadays, the majority of software systems are inherently concurrent. Anyway, internal and external concurrent activities increase the complexity of systems’ behavior. Adequate architecting can significantly decrease implementation errors. This work is motivated by the desire to understand how concurrency can constrain or influence software architecting. As a result, in the paper a methodologic...

متن کامل

Lean Thinking Applied to System Architecting

Software-intensive systems are increasingly part of new products, which leads to significant business impact. This is especially true for the automotive industry where a majority of new innovations are realized through the use of software. The architecture of the software-intensive system will enable value creation when working properly or, in the worst case, prevent value creation. Lean Thinki...

متن کامل

Evolutionary Architecting of Embedded and Enterprise Software and Systems

Many industries rely heavily on embedded software and systems to maximize business value in their products. These systems are very complex, and the architecture is important to control the complexity and make development efficient. There are often also connections between the embedded system and the different lifecycle processes, and hence, to the enterprise systems supporting those processes. ...

متن کامل

Architecting Data-Intensive Software Systems

Data-intensive software is increasingly prominent in today’s world, where the collection, processing, and dissemination of ever-larger volumes of data has become a driving force behind innovation in the early twenty-first century. The trend towards massive data manipulation is broad-based, and case studies can be examined in domains from politics, to intelligence gathering, to scientific and me...

متن کامل

A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines

In many industries, embedded software plays an increasingly important role in defining the characteristics of the products. Often, a product line approach is used, and the system architecture is developed through evolution rather than being redone from scratch for each product. In this paper, we present a model of such an evolutionary process based on architecture transformations. The model att...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • ERCIM News

دوره 2012  شماره 

صفحات  -

تاریخ انتشار 2012